﻿using Saisie_des_prélèvements.Models;
using System;
using System.Linq;
using System.Collections.ObjectModel;
using System.Collections.Generic;

namespace Saisie_des_prélèvements.ViewModels
{
    public class NPRODUITViewModel : ViewModelBase
    {
        #region Properties

        public string PRD_CODE { get; set; }

        public string PRD_LIB { get; set; }

        public string PRD_LIBID1 { get; set; }

        public string PRD_LIBID2 { get; set; }

        public string PRD_LIBID3 { get; set; }

        public string PRD_LIBID4 { get; set; }

        public string PRD_LIBID5 { get; set; }

        public string PRD_LIBID6 { get; set; }

        public string PRD_LIBID7 { get; set; }

        public string PRD_LIBID8 { get; set; }

        public string PRD_LIBID9 { get; set; }

        public string PRD_LIBID10 { get; set; }

        public string PRD_LIBID11 { get; set; }

        public string PRD_LIBID12 { get; set; }

        public string PRD_TYPID { get; set; }

        public string PRD_OBLID { get; set; }

        public string PRD_TABL { get; set; }

        #endregion Properties

        public NPRODUITViewModel GetProductInfo(string PRD_CODE)
        {
            var prod = new NPRODUITViewModel();
            using (var db = new SQLite.SQLiteConnection(App.DBPath))
            {
                var p = (db.Table<NPRODUIT>().Where(
                    c => c.PRD_CODE == PRD_CODE)).Single();
                prod.PRD_CODE = p.PRD_CODE;
                prod.PRD_LIB = p.PRD_LIB;
                prod.PRD_LIBID1 = p.PRD_LIBID1;
                prod.PRD_LIBID2 = p.PRD_LIBID2;
                prod.PRD_LIBID3 = p.PRD_LIBID3;
                prod.PRD_LIBID4 = p.PRD_LIBID4;
                prod.PRD_LIBID5 = p.PRD_LIBID5;
                prod.PRD_LIBID6 = p.PRD_LIBID6;
                prod.PRD_LIBID7 = p.PRD_LIBID7;
                prod.PRD_LIBID8 = p.PRD_LIBID8;
                prod.PRD_LIBID9 = p.PRD_LIBID9;
                prod.PRD_LIBID10 = p.PRD_LIBID10;
                prod.PRD_LIBID11 = p.PRD_LIBID11;
                prod.PRD_LIBID12 = p.PRD_LIBID12;
                prod.PRD_OBLID = p.PRD_OBLID;
                prod.PRD_TABL = p.PRD_TABL;
                prod.PRD_TYPID = p.PRD_TYPID;
            }
            return prod;
        }

        public List<NPRODUITViewModel> GetProductSelection()
        {
            var db = new SQLite.SQLiteConnection(App.DBPath);
            List<NPRODUITViewModel> result = db.Query<NPRODUITViewModel>(
                "SELECT PRD_CODE, PRD_LIB FROM NPRODUIT ORDER BY PRD_CODE"
                );

            return result;
        }

    }
}
